package com.bestcem.xm.qdes.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bestcem.xm.component.mybatis.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author guitao.lu
 * @version V1.0
 * @date 2022/8/1
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ds_qdes_libproject")
public class QdesLibProject extends BaseEntity {

    @TableId(value = "id")
    private String id;

    /**
     * 问卷id
     */
    @TableField(value = "project_id")
    @JsonProperty("project_id")
    private String projectId;

    /**
     * 模板库名称
     */
    @TableField(value = "title")
    private String title;

    /**
     * 缩略图
     */
    @TableField(value = "thumbnail")
    @JsonProperty("thumbnail")
    private String thumbnail;

    /**
     * 缩略图fmap_id（便于更新使用）
     */
    @TableField(value = "thumbnail_fmap_id")
    @JsonProperty("thumbnail_fmap_id")
    private String thumbnailFmapId;

    /**
     * 项目转模板时统计题目数
     */
    @TableField(value = "question_count")
    @JsonProperty("question_count")
    private Integer questionCount;

    /**
     * 问卷引用该模板次数。注意：从公共库复制出来的企业模板，次数清零
     */
    @TableField(value = "ref_count")
    @JsonProperty("ref_count")
    private Integer refCount;

    /**
     * 模板状态
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 问卷类型
     */
    @TableField(value = "ptype")
    private Integer ptype;

    /**
     * True: 官方库, False:企业库
     */
    @TableField(value = "is_official")
    @JsonProperty("is_official")
    private Boolean isOfficial;

    /**
     * 公司ID：公共库公司ID为空
     */
    @TableField(value = "company_id")
    @JsonProperty("company_id")
    private String companyId;

    /**
     * 创建者：公共库创建者为空
     */
    @TableField(value = "creator")
    private String creator;

    /**
     * 排序号
     */
    @TableField(value = "sort_no")
    @JsonProperty("sort_no")
    private Integer sortNo;

    /**
     * 是否是demo数据
     */
    @TableField(value = "is_copy_demo")
    @JsonProperty("is_copy_demo")
    private Boolean isCopyDemo;

    /**
     * 是否收藏
     */
    @TableField(exist = false)
    private Boolean like;
}